<?php 

/** Classe que representa um campus da universidade */
class Campus {

	// Constantes usadas pelo Drupal para identificação do Tipo
	const TYPE = 'campus';

	var $id;
	var $nome;
	var $restricoes;

	var $type = Campus::TYPE;

	public function __construct() {
		$this->id = 0;
		$this->nome = '';
		$this->restricoes = array();
	}

	/** verifica se a bolsa passada por parametro esta dentre as bolsas restritas */
	public function validate($bolsa) {
		return !in_array($bolsa->modalidade, $this->restricoes);
	}
}

/** Classe que representa uma condicao do aluno */
class Condicao {

	// Constantes usadas pelo Drupal para identificação do Tipo
	const TYPE = 'condicao';

	var $id;
	var $nome;
	var $restricoes;

	var $type = Condicao::TYPE;

	public function __construct() {
		$this->id = 0;
		$this->nome = '';
		$this->restricoes = array();
	}

	/** verifica se a bolsa passada por parametro esta dentro da lista de restricoes */
	public function validate($bolsa) {
		return !in_array($bolsa->modalidade, $this->restricoes);
	}

}

/** Representa um curso */
class Curso {

	const TYPE = 'curso';

	var $id;
	var $nome;
	var $duracao;
	var $campus;

	var $type = Curso::TYPE;

	public function __construct() {
		$this->id = 0;
		$this->nome = '';
		$this->duracao = '';
		$this->campus = new Campus();
	}

}

/** classe que representa uma proreitoria */
class ProReitoria {

	const TYPE = 'proreitoria';

	var $id;
	var $sigla;
	var $nome;

	var $type = ProReitoria::TYPE;

	public function __construct() {
		$this->id = 0;
		$this->nome = '';
		$this->sigla = '';
	}

}